# class VGG16(nn.Module):
#     def __init__(self):
#         super(VGG16, self).__init__()
#         self.block_1 = nn.Sequential(
#             nn.Conv2d(1, 32, 3, 1, 1),
#             nn.ReLU(inplace=True),
#             nn.Conv2d(32, 32, 3, 1, 1),
#             nn.ReLU(inplace=True),
#             nn.MaxPool2d(2, 2, 0)
#         )
#
#         self.block_2 = nn.Sequential(
#             nn.Conv2d(32, 64, 3, 1, 1),
#             nn.ReLU(inplace=True),
#             nn.Conv2d(64, 64, 3, 1, 1),
#             nn.ReLU(inplace=True),
#             nn.MaxPool2d(2, 2, 0),
#         )
#         self.block_3 = nn.Sequential(
#             nn.Conv2d(64, 16, 1, 1, 0),
#             nn.ReLU(inplace=True),
#         )
#         self.classifier = nn.Sequential(
#             nn.Linear(784, 512),
#             nn.ReLU(inplace=True),
#             nn.Dropout(0.5),
#             nn.Linear(512, 512),
#             nn.ReLU(inplace=True),
#             nn.Dropout(0.5),
#             nn.Linear(512, 10),
#         )
#
#     def forward(self, x):
#         x = self.block_1(x)
#         x = self.block_2(x)
#         x = self.block_3(x)
#         x = self.classifier(x.view(-1, 7 * 7 * 16))
#         x = F.softmax(x, dim=1)
#         return x

